/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jadum.ejc.managed.bean;

import com.jadum.ejc.endereco.service.IEnderecoService;
import com.jadum.ejc.model.Endereco;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import org.springframework.dao.DataAccessException;

/**
 *
 * @author Jadum
 */
@ManagedBean(name = "enderecoMB")
public class EnderecoManagedBean implements Serializable {

    private static final String SUCESSO = "sucesso";
    private static final String ERRO = "erro";
    
    @ManagedProperty(value = "#{EnderecoService}")
    private IEnderecoService enderecoService;
    
    private List<Endereco> enderecoList;
    
    private int id;
    private String logradouro;
    private String bairro;
    private String numero;
    private String cidade;
    private String uf;

    public String adicionarEndereco() {
        try {
            Endereco endereco = new Endereco();
            endereco.setId(getId());
            endereco.setBairro(getBairro());
            endereco.setCidade(getCidade());
            endereco.setLogradouro(getLogradouro());
            endereco.setNumero(getNumero());
            endereco.setUf(getUf());
            getEnderecoService().adicionarEndereco(endereco);
            return SUCESSO;
        } catch (DataAccessException e) {
            e.printStackTrace();
        }

        return ERRO;
    }

    public void limparCampos() {
        id = 0;
        logradouro = "";
        bairro = "";
        numero = "";
        cidade = "";
        uf = "";
    }

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * @return the logradouro
     */
    public String getLogradouro() {
        return logradouro;
    }

    /**
     * @param logradouro the logradouro to set
     */
    public void setLogradouro(String logradouro) {
        this.logradouro = logradouro;
    }

    /**
     * @return the bairro
     */
    public String getBairro() {
        return bairro;
    }

    /**
     * @param bairro the bairro to set
     */
    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    /**
     * @return the numero
     */
    public String getNumero() {
        return numero;
    }

    /**
     * @param numero the numero to set
     */
    public void setNumero(String numero) {
        this.numero = numero;
    }

    /**
     * @return the cidade
     */
    public String getCidade() {
        return cidade;
    }

    /**
     * @param cidade the cidade to set
     */
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    /**
     * @return the uf
     */
    public String getUf() {
        return uf;
    }

    /**
     * @param uf the uf to set
     */
    public void setUf(String uf) {
        this.uf = uf;
    }

    /**
     * @return the enderecoList
     */
    public List<Endereco> getEnderecoList() {
        enderecoList = new ArrayList<Endereco>();
        enderecoList.addAll(getEnderecoService().obterEnderecos());
        return enderecoList;
    }

    /**
     * @param enderecoList the enderecoList to set
     */
    public void setEnderecoList(List<Endereco> enderecoList) {
        this.enderecoList = enderecoList;
    }

    /**
     * @return the enderecoService
     */
    public IEnderecoService getEnderecoService() {
        return enderecoService;
    }

    /**
     * @param enderecoService the enderecoService to set
     */
    public void setEnderecoService(IEnderecoService enderecoService) {
        this.enderecoService = enderecoService;
    }
}
